<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        // filter: 过滤，筛选数据
        // 可以接收返还值 ，回调函数如果返还true ，那么就收集当前的内容
        // var arr = [1, 2, 3, 4, 5, 6];
        // var resArr = arr.filter(function (item, key, arr) {
        //     console.log(item, key, arr);
        //     return item>3;  // 根据条件过滤 需要的内容 ；
        // })
        // console.log(resArr);


        // 支持 链式操作 

        // 把 age 转成数字类型  ， 筛选所有的男性 ， 筛选 男性中年龄大于20岁的人员
        var arr = [{
            name: "张三",
            age: "22",
            gender: "男"
        },
        {
            name: "张三22",
            age: "18",
            gender: "女"
        }, {
            name: "张三33",
            age: "20",
            gender: "男"
        }, {
            name: "张三44",
            age: "26",
            gender: "男"
        }, {
            name: "张三55",
            age: "29",
            gender: "男"
        }, {
            name: "张三66",
            age: "19",
            gender: "男"
        }]

        // var res1 = arr.map(function (item) {
        //     item.age = Number(item.age)
        //     return item;
        // })
        // console.log(res1);

        // var res2 = res1.filter(function(item){
        //     return item.gender ==="男";
        // })
        // console.log(res2);

        // var res3 = res2.filter(function(item){
        //     return item.age>20;
        // })

        // console.log(res3);

        // pipe : 管道 
        // 链式操作 
        var res = arr.map(function (item) {
            item.age = Number(item.age)
            return item;
        }).filter(item=>item.gender === "男").filter(function (item) {
            return item.age > 20;
        })
        console.log(res);

    </script>
</body>

</html>